package com.csun.cmny.provider.service;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.OmcSchedul;
import com.csun.cmny.provider.model.domain.OmcSchedulMonth;
import com.csun.cmny.provider.model.dto.SchedulListDto;
import com.csun.cmny.provider.model.vo.SchedulListVO;
import com.csun.cmny.provider.model.vo.message.ScheduleVo;
import com.csun.cmny.provider.vo.OmcSchedulMonthVo;

import java.util.List;

public interface OmcScheduleService extends IService<OmcSchedul> {

    /*
    * 添加排班计划
    * */
    Integer saveSchedul(SchedulListDto schedulListDto, LoginAuthDto loginAuthDto);

    /*
    * 查询排班计划
    * */
    List<OmcSchedul> queryScheduleList(OmcSchedul schedulQuery, LoginAuthDto loginAuthDto);

    /*
    * 审批排班计划
    * */
    Integer approvalSchedule(SchedulListDto schedulListDto, LoginAuthDto loginAuthDto);

    /**
     * 查询所有班次的负责人
     * 当查询到的list里面的负责人是空的时，说明之前排班计划的时候该班次该天没有安排人
     */
    List<OmcSchedul> queryShiftUsers(OmcSchedul omcSchedul, LoginAuthDto loginAuthDto);

    /*
    * 删除排班计划
    * */
    int deleteScheadule(OmcSchedul omcSchedul, LoginAuthDto loginAuthDto);

    /**
     * 查询待审批排班计划
     * @param: [thisWeek, groupId]
     * @return: java.util.List<com.csun.cmny.provider.model.vo.SchedulListVO>
     */
    List<ScheduleVo> queryScheduleCurTaskList(String thisWeek, LoginAuthDto loginAuthDto);
    /**
     * 查询护工组月计划
     * @param omcSchedulMonthVo
     * @return Wrapper
     * @author HD
     * @date  14:04
     */
    List<OmcSchedulMonth> queryScheduleMonthList(OmcSchedulMonthVo omcSchedulMonthVo, LoginAuthDto loginAuthDto);

}
